#include "test_list.h"

#ifdef TEST_RELATIVE

#define TEST_CASE_NAME os
#define TEST_NUMBER(n) Relative##_##n

#include <os/command.h>

using namespace os;


#define TEST_RELATIVE_000
#define TEST_RELATIVE_001
#define TEST_RELATIVE_002
#define TEST_RELATIVE_003
#define TEST_RELATIVE_004
#define TEST_RELATIVE_005
#define TEST_RELATIVE_006
#define TEST_RELATIVE_007
#define TEST_RELATIVE_008
#define TEST_RELATIVE_009
#define TEST_RELATIVE_010
#define TEST_RELATIVE_011
#define TEST_RELATIVE_012
#define TEST_RELATIVE_013
#define TEST_RELATIVE_014
#define TEST_RELATIVE_015
#define TEST_RELATIVE_016
#define TEST_RELATIVE_017
#define TEST_RELATIVE_018
#define TEST_RELATIVE_019
#define TEST_RELATIVE_020
#define TEST_RELATIVE_021
#define TEST_RELATIVE_022
#define TEST_RELATIVE_023
#define TEST_RELATIVE_024
#define TEST_RELATIVE_025

#define TEST_RELATIVE_026
#define TEST_RELATIVE_027
#define TEST_RELATIVE_028
#define TEST_RELATIVE_029
#define TEST_RELATIVE_030
#define TEST_RELATIVE_031
#define TEST_RELATIVE_032

//------------------------------------------------------------------------------------------------------//
namespace{

    
}
//------------------------------------------------------------------------------------------------------//

#ifdef TEST_RELATIVE_000
TEST(TEST_CASE_NAME, TEST_NUMBER(000))
{
    const path a = "foo/test/korv.txt";
    const path b = "foo/bar";
    const path r = Relative(a, b);
    const path e = "../test/korv.txt";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_000


#ifdef TEST_RELATIVE_001
TEST(TEST_CASE_NAME, TEST_NUMBER(001))
{
    const path a = "foo/test/../test/korv.txt";
    const path b = "foo/bar";
    const path r = Relative(a, b);
    const path e = "../test/korv.txt";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_001

#ifdef TEST_RELATIVE_002
TEST(TEST_CASE_NAME, TEST_NUMBER(002))
{
    const path a = "foo/../foo/test/korv.txt";
    const path b = "foo/bar";
    const path r = Relative(a, b);
    const path e = "../test/korv.txt";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_002

#ifdef TEST_RELATIVE_003
TEST(TEST_CASE_NAME, TEST_NUMBER(003))
{
    const path a = "foo/test/korv.txt";
    const path b = "";
    const path r = Relative(a, b);
    const path e = "foo/test/korv.txt";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_003

#ifdef TEST_RELATIVE_004
TEST(TEST_CASE_NAME, TEST_NUMBER(004))
{
    const path a = "";
    const path b = "";
    const path r = Relative(a, b);
    const path e = "";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_004

#ifdef TEST_RELATIVE_005
TEST(TEST_CASE_NAME, TEST_NUMBER(005))
{
    const path a = "foo/../../../test/korv.txt";
    const path b =  "foo/bar";
    const path r = Relative(a, b);
    const path e = "../../../../test/korv.txt";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_005

#ifdef TEST_RELATIVE_006
TEST(TEST_CASE_NAME, TEST_NUMBER(006))
{
    const path a = "external/libraries/boost";
    const path b = "external";
    const path r = Relative(a, b);
    const path e = "libraries/boost";
    EXPECT_EQ(true, e == r);
}
#endif // TEST_RELATIVE_006

#ifdef TEST_RELATIVE_007
#endif // TEST_RELATIVE_007

#ifdef TEST_RELATIVE_008
#endif // TEST_RELATIVE_008

#ifdef TEST_RELATIVE_009
#endif // TEST_RELATIVE_009

#ifdef TEST_RELATIVE_010
#endif // TEST_RELATIVE_010

#ifdef TEST_RELATIVE_011
#endif // TEST_RELATIVE_011

#ifdef TEST_RELATIVE_012
#endif // TEST_RELATIVE_012

#ifdef TEST_RELATIVE_013
#endif // TEST_RELATIVE_013

#ifdef TEST_RELATIVE_014
#endif // TEST_RELATIVE_014

#ifdef TEST_RELATIVE_015
#endif // TEST_RELATIVE_015

#ifdef TEST_RELATIVE_016
#endif // TEST_RELATIVE_016

#ifdef TEST_RELATIVE_017
#endif // TEST_RELATIVE_017

#ifdef TEST_RELATIVE_018
#endif // TEST_RELATIVE_018

#ifdef TEST_RELATIVE_019
#endif // TEST_RELATIVE_019

#ifdef TEST_RELATIVE_020
#endif // TEST_RELATIVE_020

#ifdef TEST_RELATIVE_021
#endif // TEST_RELATIVE_021

#ifdef TEST_RELATIVE_022
#endif // TEST_RELATIVE_022

#ifdef TEST_RELATIVE_023
#endif // TEST_RELATIVE_023

#ifdef TEST_RELATIVE_024
#endif // TEST_RELATIVE_024

#ifdef TEST_RELATIVE_025
#endif // TEST_RELATIVE_025

#ifdef TEST_RELATIVE_026
#endif // TEST_RELATIVE_026

#ifdef TEST_RELATIVE_027
#endif // TEST_RELATIVE_027

#ifdef TEST_RELATIVE_028
#endif // TEST_RELATIVE_029

#ifdef TEST_RELATIVE_030
#endif // TEST_RELATIVE_030

#ifdef TEST_RELATIVE_031
#endif // TEST_RELATIVE_031

#ifdef TEST_RELATIVE_032
#endif // TEST_RELATIVE_032

#endif



